#ifndef VIDEOSTRATEGY_H
#define VIDEOSTRATEGY_H

#include "icapturestrategy.h"
#include <vector>

class VideoStrategy : public ICaptureStrategy, public QWidget
{
public:
    VideoStrategy(int w, int h);
    VideoStrategy() = default;
    ~VideoStrategy() override = default;

    int prepareVideoCapture() override;
    int getFrame(cv::Mat& frame) override;
    int getFrameIndex() override;
    void setFrameIndex(int index) override;
    int getFrameTotal() override;
    void frameForward() override;
    void frameBackoff() override;

private:
    void SelectVideo();

    QString videoPath;
    std::vector<cv::Mat>  itsVideoList;
    int itsFrameCount;
};

#endif // VIDEOSTRATEGY_H
